#Diego Luna 
#Viernes 23-03-2012


# Variables del proyecto - Begin
#
#
#Compilador utilizado.
CC=g++
#flags para el compilador.
CFLAGS=-ansi -Wall -Wextra -std=c++98 -g -c
#flags para el linker.
LDFLAGS=
#
#
#El directorio actual debe ser indicado con ".".
#
#Directorio de salida para los archivos *.o.
OBJ_DIR=./../obj/Debug
#Directorio de entrada para los archivos *.cpp.		
SRC_DIR=./../source
#Directorio de entrada para los archivos *.h.				
HDR_DIR=./../source
#Directorio de salida para el ejecutable.		
BIN_DIR=./../bin/Debug
#
#
#Archivos fuente c++ (separados por espacio, los nombres no deben contener espacios).
SOURCES=main.cpp cmdline.cpp abstractor.cpp
#Archivos de encabezado c++.
HEADERS=cmdline.h globals.h abstractor.h bases.h tree.h list.h hashtable.h set.h
#Nombre del ejecutable.
EXECUTABLE=tp1
#
#
# Variables del proyecto - End



PATHOBJS=$(SOURCES:%.cpp=$(OBJ_DIR)/%.o)
PATHSOURCES=$(SOURCES:%=$(SRC_DIR)/%)
PATHHEADERS=$(HEADERS:%=$(HDR_DIR)/%)
PATHEXEC=$(BIN_DIR)/$(EXECUTABLE)


all: $(BIN_DIR) $(OBJ_DIR) $(PATHHEADERS) $(PATHSOURCES) $(PATHEXEC)
	

$(BIN_DIR):
	@mkdir -p $(BIN_DIR)


$(OBJ_DIR):
	@mkdir -p $(OBJ_DIR)


$(PATHEXEC): $(PATHOBJS)
	@echo
	@echo -n "Building executable: "
	@basename $(PATHEXEC)
	@echo
	$(CC) $(LDFLAGS) $^ -o $@
	@echo


$(OBJ_DIR)/%.o : $(SRC_DIR)/%.cpp $(PATHHEADERS)
	@echo
	@echo -n "Compiling: "
	@basename $<
	@echo
	$(CC) $(CFLAGS) $< -o $@
	@echo


.PHONY : clean


clean:
	@echo 
	@echo Deleting $(PATHOBJS) $(PATHEXEC)
	-@rm -f $(PATHOBJS) $(PATHEXEC)
	@echo



